AM demodulator

ABSTRACT

An amplitude modulation receiver including an antenna for receiving a signal and an input filter connected to the antenna. A variable gain amplifier is connected to the input filter and is responsive to a gain control signal. An A/D converter is connected to the variable gain amplifier and is responsive to a sampling signal and provides a sampled digital signal. A D/A converter receives a demodulated signal and provides an analog output signal. A controller receives and demodulates the sampled digital signal from the A/D converter, generates the gain control signal for the variable gain amplifier, generates the sampling signal for the A/D converter, and provides the demodulated signal to the D/A converter. The demodulation and generation of the gain control signal and the sampling signal are performed in software.

The present application is a division of U.S. patent application Ser. No. 10/400,506 filed Mar. 28, 2003, the benefit of which is claimed and which is incorporated herein by reference.

BACKGROUND AND SUMMARY OF THE INVENTION

The present invention relates generally to AM receivers and more specifically to a receiver capable of software implementation of varies elements in AM receivers.

Despite the fact that the AM receiver is almost a century old the software radio implementation is still cost prohibitive. Currently, AM receivers are implemented in hardware, employing AM/FM chips at record low cost. A simplified block diagram of a conventional AM receiver is illustrated in FIG. 1. However, in a multi protocol communication hand held device, the hardware implementation becomes less attractive due to extra cost and PC board area consumed. The most attractive alternative for multi protocol communication devices is provided by the Software Defined Radio (SDR). The SDR has the ability to execute multiple communication protocols in the same processor but requires a different RF front end for each of them. As the processor capabilities evolve to higher MIPS, the border between analog and digital components moves closer to the antenna.

The hardware architecture of the present AM receiver uses fewer hardware components and allows an efficient software implementation by reducing the MIPS required. It provides both flexibility and low power consumption. A group of the AM receiver functions, including filtering and demodulation, are implemented in software.

The amplitude modulation receiver includes an antenna for receiving a signal and an input filter connected to the antenna. A variable gain amplifier is connected to the input filter and is responsive to a gain control signal. An A/D converter is connected to the variable gain amplifier, is responsive to a sampling signal and provides a sampled digital signal. A D/A converter receives a demodulated digital signal and provides an analogue output signal. A controller receives and demodulates the sampled digital signal from the A/D converter, generates the gain control signal for the variable gain amplifier, generates the sampling signal for the A/D converter, and provides the demodulated signal to the D/A converter.

The controller may be a multi-thread processor performing the demodulation and signal generation tasks in parallel.

The controller provides a sampling signal to a phase locked loop whose output provides the sampling signal to the A/D converter. The sampling signal from the controller is provided to a voltage control oscillator of the phase locked loop. The controller controls the generation of a variable sampling signal whose rate is coherent with the carrier frequency of the received signal.

The demodulator of the AM receiver is implemented in software which includes an input filter for filtering an input signal; a decimator and integrator demodulator for demodulating the filtered input signal; and an output filter for filtering the demodulated signal. The demodulator and the input filter are tuned to the carrier frequency of the input signal and the output filter is tuned to the decimated carrier frequency of the input signal. Coefficients of the filters for each carrier frequency are stored in the demodulator. The filtered signal is multiplied by a demodulation signal at a carrier frequency, integrated over a carrier cycle period and then decimated.

These and other aspects of the present invention will become apparent from the following detailed description of the invention, when considered in conjunction with accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a prior art AM receiver implemented in hardware.

FIG. 2 is a block diagram of an AM receiver according to the principles of the present invention.

FIG. 3 is a block diagram of a software implementation of the control portion of FIG. 2 incorporating the principles of the present invention.

FIG. 4 is a flow chart of the software implementation of FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present receiver is a reduced MIPS software implementation of a conventional AM receiver. By using a variable sampling rate scheme such that the sampling rate is coherent with the received carrier frequency, the complexity of several AM receiver blocks, associated with the demodulation process, including the down conversion block, can be significantly reduced and executed in software. The benefit of the reduced complexity AM receiver translates in low cost as well as low power consumption, thereby enabling its integration into hand held devices such as mobile phones, PDAs or multi-protocol communication devices. In the present architecture, all functions associated with the AM receiver, including most of the filtering and the demodulation, are executed in software, for example using two threads of the Sandbridge Technologies multithreaded SB9600 processor.

Hardware components of an AM receiver designed for software implementation is illustrated in FIG. 2. The signal received on antenna 10 is connected to a band pass filter 12. The output of the band pass filter 12 is provided to a variable gain amplifier 16 via a low noise amplifier 14. The output of the variable gain amplifier 16 is provided to analog to digital (A/D) converter 18. The digital signal is then provided to controller 20, shown as a digital signal processor (DSP). The received signal is demodulated and provided as an output signal to digital to analog (D/A) converter 22. The analog output is then amplified at 24 and provided to an audio device 26. The controller 20 also provides the gain control for the variable gain amplifier 16 via low pass filter (LPF) or integrator 30.

The sampling rate of the A/D converter 18 is also controlled by the controller 20. A fractional phase locked loop (PLL) 32 receives control signals from the controller 20, which determines the sampling clock. The first output from the DSP controller 20 is provided at 34 to the fractional PLL 32. A second signal is provided via low pass filter (LPF) or integrator 36 to the voltage control crystal oscillator (VCXO) 38, which is connected to the fractional PLL 32. The signal provided on line 34 to the fractional PLL 32 is a gross frequency signal, which is fine-tuned by the signal provided over integrator 36 to the voltage control crystal oscillator 38. The controller 20 fine-tunes the sampling clock or rate of the A/D converter 18 to be coherent with the carrier frequency of the received signal. This allows efficient software implementation of the demodulator and the control of voltage gain amplifier 16 and the A/D converter 32.

The software implementation performed in the controller 20 is illustrated in FIG. 3. The input signal from the A/D converter 18 is provided through an input filter 40. This output signal is provided to demodulator 42, whose output is again filtered by an output filter 48. The output of output filter 48 is then provided to the D/A converter 22. The demodulator 42 is illustrated as a decimation integration filter. It includes a multiplier portion 44 and an integration/decimation portion 46. The input filter 40 and the demodulator 42 are all tuned to the carrier frequency of the received signal. The output filter 48 is tuned to the decimated carrier frequency of the received signal. The coefficients for both of the filters are stored in memory, for example a non volatile memory, for each carrier frequency.

As an example, the sampled signal from the A/D converter 18, at sampling frequency eight times the carrier, is filtered using a two poles two zeros band pass filter 40, centered at the carrier frequency with 3 dB attenuation at 5 KHz bandwidth. The sampling rate may be at different multipliers of the carrier (for example, 4 or 16). The filtered signal is then multiplied with the cosine sampled signal (f_(c)) by multiplier/decimator 44 and integrated over eight samples. After integration, the data goes through a 1:16 decimation. The decimation ratio can be other ratios (for example, 1:8 or 1:32). Next, filtering using a 96 tap 80 dB FIR low pass filter 48, resealing and DC removal. Finally, the data is sent to the D/A converter 22. The filter may be a different number of taps, like 128 for example.

The sampled digital signal from the input filter 40 is also provided to an automatic gain control (AGC) software portion 50, which provides an output through LFP 30 to the variable gain amplifier 16. The sampled digital signal from input filter 40 is also provided to a phase locked loop (PLL) software portion 52. This produces the fine sampling signal to the variable control crystal oscillator 38 through LPF 36.

Examples of algorithms used to implement the demodulation portion of FIG. 3 are as follows:

The AM composite signal can be viewed as a superposition of N in band carriers each modulated by a modulation signal φ_(k)(t). If multipath is ignored, the AM composite function can be written as: $\begin{matrix} {{s\quad(t)} = {{{Re}\left\lbrack {\sum\limits_{i}^{N}\quad{{\varphi_{i}(t)}\quad{\mathbb{e}}^{{- j}\quad w_{i}t}}} \right\rbrack} + {n\quad(t)}}} & (1) \end{matrix}$ where n(t) is AWGN, N(0, σ), mostly coming from the receiver front end.

Using a rectangular windowing function, equation (1) can be rewritten as a sum of the time windowed segments: $\begin{matrix} {{{s\quad(t)} = {{\sum\limits_{m = {- \infty}}^{+ \infty}\quad{g\quad\left( {t - {mT}_{c}} \right)\quad{{Re}\quad\left\lbrack {\sum\limits_{i}^{N}\quad{{\varphi_{i}(t)}\quad{\mathbb{e}}^{{- j}\quad w_{i}t}}} \right\rbrack}}} + {n\quad(t)}}}\quad} & (2) \end{matrix}$ where: g(t−mT_(c))=σ(t−mT_(c))σ[(m+l)T_(c)−t)] and ${\sigma\quad(t)} = \left\{ \begin{matrix} {1\quad{for}} & {t \geq 0} \\ {0\quad{for}} & {t < 0} \end{matrix} \right.$ is the unit step function performing the windowing.

First, the AM composite signal of equation (1) is band pass filtered. Without loosing generality, the rectangular pass band filter is centered at the carrier frequency f_(c), with out of band attenuation α. Next, the filtered signal is segmented as in equation (2) and multiplied with a demodulation function of f_(c), $\begin{matrix} \begin{matrix} {{d\quad(t)} = {{s\quad(t)\quad{{Re}\quad\left\lbrack {\mathbb{e}}^{{- j}\quad w_{k}t} \right\rbrack}} =}} \\ {= {\sum\limits_{m = {- \infty}}^{+ \infty}\quad{g\quad{\left( {t - {mT}_{c}} \right)\begin{bmatrix} {{{\varphi_{k}(t)}\quad\cos^{2}w_{k}t} + \alpha} \\ \left( {\sum\limits_{i \neq k}^{N}\quad{{\varphi_{i}(t)}\quad\cos\quad w_{i}{t \cdot \cos}\quad\left( {{w_{k}(t)} + {n\quad(t)\quad\cos\quad\left( {w_{k}(t)} \right)}} \right.}} \right. \end{bmatrix}}}}} \end{matrix} & (3) \end{matrix}$

Multiplying equation (3) by a windowing function g(t−lT_(c)) to segment the demodulated segments and integrating over a carrier cycle period, with the assumption that φ_(k)(t) is constant over a cycle period T_(c,), it follows: $\begin{matrix} \begin{matrix} {\begin{matrix} {{\int_{- {mT}_{c}}^{{({m + 1})}\quad T_{c}}{{\mathbb{d}(t)}\quad g}}\quad} \\ {\left( {t - {lT}_{c}} \right)\quad{\mathbb{d}t}} \end{matrix} = {{\int_{- {mT}_{c}}^{{({m + 1})}\quad T_{c}}{g\quad\left( {t - {lT}_{c}} \right)\quad s\quad(t)\quad{{Re}\left\lbrack {\mathbb{e}}^{{- j}\quad w_{i}t} \right\rbrack}}} =}} \\ {= \underset{I}{\underset{︸}{\int_{- {mT}_{c}}^{{({m + 1})}\quad T_{c}}{\left\lbrack {\begin{matrix} {{\sum\limits_{m = {- \infty}}^{+ \infty}\quad{g\quad\left( {t - {mT}_{c}} \right)}}\quad} \\ {g\quad\left( {t - {lT}_{c}} \right)} \end{matrix}\begin{bmatrix} {{{\varphi_{k}(t)}\cos^{2}w_{k}t} + \alpha} \\ \left( {\sum\limits_{i \neq k}^{N}\quad{{\varphi_{i}(t)}\quad\cos\quad w_{i}{t \cdot \cos}}}\quad \right. \\ \left( {{w_{k}(t)} + {n\quad(t)\cos\quad\left( {w_{k}(t)} \right)}} \right. \end{bmatrix}} \right\rbrack\quad{\mathbb{d}t}}}}} \end{matrix} & (4) \end{matrix}$

After some simple calculations, the integral in equation (4), becomes: $\begin{matrix} {I = \left\{ \begin{matrix} {{0\quad{for}\quad m} \neq l} \\ {{\varphi_{k}^{(l)}{\int_{- {lT}_{c}}^{{({l + 1})}T_{c}}{\cos^{2}w_{k}{t \cdot {\mathbb{d}t}}}}} + {\frac{{\alpha\varphi}_{k}^{(l)}}{2}{\int_{- {lT}_{c}}^{{({l + 1})}T_{c}}{\sum\limits_{i \neq k}^{N}{\begin{bmatrix} {{\cos\quad\left( {w_{i} - w_{k}} \right)\quad t} +} \\ {\cos\quad\left( {w_{i} + w_{k}} \right)\quad t} \end{bmatrix}\quad{\mathbb{d}t}}}}} + {\alpha{\int_{- {lT}_{c}}^{{({l + 1})}T_{c}}{n\quad(t)\quad\cos\quad w_{k}{t \cdot {\mathbb{d}t}}}}}} \\ {{{for}\quad m} = l} \end{matrix} \right.} & (5) \end{matrix}$

In the above expression (5) the second integral will vanish after low pass filtering at the 5 KHz cut off frequency. The third integral represents the left over noise after filtering and integration is negligible and it can be further ignored. The final expression for 1 will be: $I = \left\{ \begin{matrix} {{0\quad{for}\quad m} \neq l} \\ \quad \\ {{\frac{T_{c}}{2}\varphi_{k}^{(l)}\quad{for}\quad m} = 1} \end{matrix} \right.$

After summation over all l∈(−∞,+∞) and, scale with 2/T_(c), the sampled version of the modulation function reads: $\begin{matrix} {{\varphi_{k}(\tau)} = {{\varphi_{k}\left\lbrack {nT}_{c} \right\rbrack} \cong {\frac{T_{c}}{2}{\sum\limits_{l = {- \infty}}^{+ \infty}\quad{\varphi_{k}^{(l)}{\Delta\quad\left\lbrack {\left( {l - m} \right)\quad T_{c}} \right\rbrack}}}}}} & (6) \end{matrix}$ where: Δ[(l−m)T_(c)]=g(t−lT_(c)) g(t−mT_(c)) is the Delta or windowing function.

Preferably, the controller 20 is a multi-thread processor capable of executing the software programs in parallel. Such a processor, which is available from Sandbridge Technologies, Inc., further enhances the efficiency of the software. FIG. 4 represents a flow chart as an example of thread allocation of the different software blocks described above. As illustrated in FIG. 4, at power turn on 60, the settings from the non-volatile memory (for example, frequency and volume levels) are loaded at 62. Also, the filter parameters for the two software filters 40 and 42 are loaded from memory at 64. A determination is made at 66 whether the settings are new. If they are, then new filter parameters are loaded. If they are not new, the synthesizer of FIG. 3 is then set up at 70.

The software block for the input filter 40, the demodulator 42 and the output filter 48 are illustrated in Box 72. The following continuous loops are set up: (1) input filtering; (2) multiplication; (3) integration; (4) decimation; (5) output filtering; and (6) sending audio data to the D/A converter 22. The second group of threads is illustrated in Box 74. The following continuous loops are set up: (1) start the phase locked loop 52; (2) start the automatic gain control 50; (3) poll for new settings of frequency and volume; and (4) calculate the error for the voltage control oscillator 38 based on the phased locked loop 52 results. The output of the VCXO error is provided back to the set up synthesizer step 70. This provides the input through the integrator 36 to the voltage control crystal oscillator 38.

Box 76 indicates the outputs to the sampling circuit from the set up synthesizer 70. One of the outputs is the gross frequency F_(G) for the fractional PLL 32. The gross frequency F_(G) is from the loaded settings of frequency. The other output is VCXO for the voltage control oscillator 38, which has been corrected in the routines of Box 74.

Although the present invention has been described and illustrated in detail, it is to be clearly understood that this is done by way of illustration and example only and is not to be taken by way of limitation. The scope of the present invention is to be limited only by the terms of the appended claims. 

1. A demodulator for an amplitude modulation receiver, the demodulator includes software which comprises: an input filter for filtering an input signal; a decimator and integrator demodulator for demodulating the filtered input signal; and an output filter for filtering the demodulated signal.
 2. The demodulator according to claim 1, wherein the demodulator and the input filter are tuned to the carrier frequency of the input signal and the output filter is tuned to a decimated carrier frequency.
 3. The demodulator according to claim 1, wherein coefficients of the filters for each carrier frequency are stored in the demodulator.
 4. The demodulator according to claim 1, wherein the filtered signal is multiplied by a demodulation signal at a carrier frequency and integrated over a carrier cycle period.
 5. The demodulator according to claim 4, wherein the input and output filters filter the input signal and the integrated demodulated signal respectively to band pass about the carrier frequency.
 6. The demodulator according to claim 1, wherein: the filtered input signal s(t) is segmented by a windowing function g(t−mT_(c)), where T_(c) is a cycle time period; the segments of the filtered input signal s(t) are multiplied by the carrier frequency w_(k), which produces demodulated segments d(t); the demodulated segments d(t) are segmented by a windowing function g(t−lT_(c)), the segmented demodulated signals d(t) are integrated over the cycle period T_(c), every period; and the integrated demodulated segments are summed and filtered by the output filter, which produces the modulation function φ_(k)[nT_(c)].
 7. The demodulator according to claim 1, wherein the demodulator is a multi-thread processor performing input filtering, decimation, integration and output filtering in parallel. 